// 一、函数泛型：

function fn003<T>(a:T,b:T):T{
    return a;
}

fn003<string>("hi","hello");

fn003<number>(12,23);


// 二、类的泛型
// 1、自定义类型
class Person<T,U>{
    a:T;
    b:U

    constructor(a:T,b:U){
        this.a = a;
        this.b = b;
    }

    eat(c:T){

    }

}

let p1 = new Person<string,boolean>("hi",true)

p1.eat("hello");

let p2 = new Person<number,string>(12,"hello");

p2.eat(250);


// 三、数组的泛型
// 数组泛型，数组是官方类型，所以直接使用，不用定义类型变量
let arr01:Array<number|string> = [12,23,""];


export default{

}